#ifndef INPUTEVENT_H_
#define INPUTEVENT_H_

#include <string>
#include "SDL/SDL.h"

enum InputEventType {
	Quit = SDL_QUIT
};

enum InputEventKey {
	Escape = SDLK_ESCAPE,
	KeyUp = SDLK_UP,
	KeyLeft = SDLK_LEFT,
	KeyRight = SDLK_RIGHT,
	KeyA = SDLK_a,
	KeyZ = SDLK_z
};

/*
 * Clase que representa un evento por parte del input.
 */
class InputEvent {
public:

	/* Constructor */
	InputEvent();

	/* Destructor */
	virtual ~InputEvent();

	/* Rellena el evento con la informacion del evento SDL. */
	virtual void fillEvent(SDL_Event event);

	virtual InputEventType getType();

	virtual InputEventKey getKey();

	virtual std::string toString();

private:

	SDL_Event event;

};

#endif /* INPUTEVENT_H_ */
